package com.yuanss.backenddemo.service;

import com.yuanss.backenddemo.common.R;
import com.yuanss.backenddemo.entity.po.SysRole;
import com.yuanss.backenddemo.entity.vo.req.AddRoleReqVo;
import com.yuanss.backenddemo.entity.vo.req.QueryRoleReqVo;
import com.yuanss.backenddemo.entity.vo.rsp.QueryRoleDetailRsp;

import java.util.List;

/**
 * @author yuanss
 * @version 1.0
 * @description 权限服务接口
 * @date 2024/6/9 08:35:06
 */
public interface RoleService {
    R<List<SysRole>> queryAll(QueryRoleReqVo queryRoleReqVo);

    R addRole(AddRoleReqVo sysRole);

    R deleteRole(Long roleId);

    R updateRole(AddRoleReqVo sysRole);

    R<QueryRoleDetailRsp> queryRole(Long roleId);

    boolean checkRoleNameUnique(SysRole sysRole);

    boolean checkRoleCodeUnique(SysRole sysRole);

    R changeStatus(Long roleId);
}
